Skip to content

WIP GitHub workflows - fixing macos - #11

Merged
c-blake merged 5 commits into
c-blake:mainfrom
georgelemon:add-gh-workflows
Aug 20, 2026
Merged

WIP GitHub workflows - fixing macos#11
c-blake merged 5 commits into
c-blake:mainfrom
georgelemon:add-gh-workflows

Conversation

@georgelemon

Copy link
Copy Markdown
Contributor
  • test (macos-15-intel, x86_64, stable) is OK.
  • test (macos-14, arm64, stable) NOT. I think the problem is the nim-lang/setup-nimble-action, installs a prebuilt x86_64 Nim on all macOS runners

this is wip

@c-blake

c-blake commented Aug 18, 2026

Copy link
Copy Markdown
Owner

Cool. Will check back later today/tomorrow and merge if it seems to be working.

BTW, thank you very much for your hard work on hardening the deployment of this repo on non-Linux!

@c-blake

c-blake commented Aug 20, 2026

Copy link
Copy Markdown
Owner

The failure looks specific to dups.nim and its SSL dependency. As I mentioned I never test on OSX Arm64, but I do recognize that this is the 2026-relevant platform. So, this is a high-value test.

A whole other second approach is to just have secureHash resolve to lib/std/sha1.nim or md5 which are pure Nim but both are deprecated. I realize both hashes were broken in crypto terms decades ago, but dups.nim even has a --cmp flag and the threat model here is just a missed detection of a duplicate.

A third possibility is to just add checksums to the .nimble and also depend on that. A fourth is to just vendor-in checksums/src/checksums/private/sha_utils.nim and checksums/src/checksums/sha2.nim, neither of which has changed meaningfully in years. My initial feeling was "everyone would have some arch-efficient lib installed already for https:// if nothing else". A fifth possibility is to link against whatever is "more native" on OSX for this call rather than "brew something", if Apple has a history of stability for that.

@georgelemon

Copy link
Copy Markdown
Contributor Author

Switching action from nim-lang/setup-nimble-action to jiro4989/setup-nim-action@v1 will do the do!

@georgelemon

Copy link
Copy Markdown
Contributor Author

Same fix should be done to release.yml
from - uses: nim-lang/setup-nimble-action@v1 to - uses: jiro4989/setup-nim-action@v1

For release.yml: Windows is no in the matrix. I think there is an issue at cligen-1.11.0, initially mentioned in the PR #10 description

@c-blake

c-blake commented Aug 20, 2026

Copy link
Copy Markdown
Owner

We may want to leave Windows out of the matrix for now/maybe forever. If you look at bu.nimble you will see that something like half of the utilities are Unix-only. I think the only truly Linux-only program is dirq.

Signed-off-by: George Lemon <georgelemon@protonmail.com>
@georgelemon

Copy link
Copy Markdown
Contributor Author

release.yml has workflow_dispatch in the YAML. At https://github.com/c-blake/bu/actions/workflows/release.yml, you can run the workflow to test it

I did it on my fork version (also had to make add-gh-workflow as main branch so I can dispatch the workflow manually but that is not important) - all green, it will stop after building the artifacts since is a manual dispatch and there is no new tag pushed to create the release

@c-blake

c-blake commented Aug 20, 2026

Copy link
Copy Markdown
Owner

Sounds good to me. Will merge.

@c-blake
c-blake merged commit d0c0fea into c-blake:main Aug 20, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants